/*
 * edulisp_scanner.hpp
 *
 *  Created on: 07.04.2011
 *      Author: xdn
 */

#ifndef EDULISP_SCANNER_HPP_
#define EDULISP_SCANNER_HPP_

#include "edulisp.hpp"
#include "edulisp_nametable.hpp"
#include <iostream>
#include <sstream>
#include <stack>
#include <deque>
//Локальные инклады

enum ScannerErrorCode { SEC_OK = 1, SEC_ERROR, SEC_INTERNAL };

int Scan(string& sText, LexemeList& lLexemeList, NameTable& mNameTable, TextFormat eTextFormat = TF_UNIX);
/*
 * Функция Scan выполняет сканирование текста, выдывая на выход поток лексем.
 * Вход:
 * 	sText - ссылка на текст программы;
 * 	LexemeList - ссылка на список лексем;
 * 	eTextFormat - формат текста программы.
 * Выход:
 * 	Функция возращает 0 в случае успешного завершения, либо код ошибки.
 */

#endif /* EDULISP_SCANNER_HPP_ */
